summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgerman77 <juangerman-13@hotmail.com>2024-01-29 01:26:40 +0100
committergerman77 <juangerman-13@hotmail.com>2024-01-29 01:27:25 +0100
commit87e26de0fca682e48c21edd98c7636e797f8b2f2 (patch)
treef5e059ccd56edfaee3d60fffcff7584f7f1c0d80
parentservice: hid: Fully implement touch resource (diff)
downloadyuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.tar
yuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.tar.gz
yuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.tar.bz2
yuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.tar.lz
yuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.tar.xz
yuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.tar.zst
yuzu-87e26de0fca682e48c21edd98c7636e797f8b2f2.zip
-rw-r--r--src/hid_core/resources/applet_resource.cpp6
-rw-r--r--src/hid_core/resources/npad/npad_resource.cpp6
2 files changed, 12 insertions, 0 deletions
diff --git a/src/hid_core/resources/applet_resource.cpp b/src/hid_core/resources/applet_resource.cpp
index db4134037..243beb1c7 100644
--- a/src/hid_core/resources/applet_resource.cpp
+++ b/src/hid_core/resources/applet_resource.cpp
@@ -118,6 +118,12 @@ void AppletResource::UnregisterAppletResourceUserId(u64 aruid) {
data[index].aruid = 0;
registration_list.flag[index] = RegistrationStatus::PendingDelete;
+
+ for (std::size_t i = 0; i < AruidIndexMax; i++) {
+ if (registration_list.flag[i] == RegistrationStatus::Initialized) {
+ active_aruid = registration_list.aruid[i];
+ }
+ }
}
void AppletResource::FreeAppletResourceId(u64 aruid) {
diff --git a/src/hid_core/resources/npad/npad_resource.cpp b/src/hid_core/resources/npad/npad_resource.cpp
index ea9fc14ed..8dd86b58e 100644
--- a/src/hid_core/resources/npad/npad_resource.cpp
+++ b/src/hid_core/resources/npad/npad_resource.cpp
@@ -72,6 +72,12 @@ void NPadResource::UnregisterAppletResourceUserId(u64 aruid) {
state[aruid_index] = {};
registration_list.flag[aruid_index] = RegistrationStatus::PendingDelete;
}
+
+ for (std::size_t i = 0; i < AruidIndexMax; i++) {
+ if (registration_list.flag[i] == RegistrationStatus::Initialized) {
+ active_data_aruid = registration_list.aruid[i];
+ }
+ }
}
void NPadResource::DestroyStyleSetUpdateEvents(u64 aruid) {